package com.ai.aichat.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 用户登录记录表
 * </p>
 *
 * @author baomidou
 * @since 2025-09-16
 */
@Data
@TableName("user_login_logs")
@ApiModel(value = "UserLoginLogs对象", description = "用户登录记录表")
public class UserLoginLogs implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 记录ID
     */
    @ApiModelProperty("记录ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    @ApiModelProperty("用户ID")
    private Long userId;

    /**
     * 登录方式
     */
    @ApiModelProperty("登录方式")
    private String loginType;

    /**
     * IP地址
     */
    @ApiModelProperty("IP地址")
    private String ipAddress;

    /**
     * 浏览器信息
     */
    @ApiModelProperty("浏览器信息")
    private String userAgent;

    /**
     * 登录地点
     */
    @ApiModelProperty("登录地点")
    private String location;

    /**
     * 设备信息
     */
    @ApiModelProperty("设备信息")
    private String deviceInfo;

    /**
     * 登录状态
     */
    @ApiModelProperty("登录状态")
    private String status;

    /**
     * 失败原因
     */
    @ApiModelProperty("失败原因")
    private String failureReason;

    /**
     * 登录时间
     */
    @ApiModelProperty("登录时间")
    private LocalDateTime createdAt;
}
